A multi-tenant system often hosts software applications for many tenants (e.g., customers, business organizations), where a single instance of a software application may be accessed (e.g., through a network) and used by multiple tenants. Compared with a multi-instance system where separate software application instances are provided for different customers, tenants in a multi-tenant system can share a single software application instance, which usually reduces costs and improves efficiency. In addition, the tenants in a multi-tenant system share platforms and infrastructure components for processing and storing data.